/*
 * Root.h
 *
 *  Created on: 9 May 2014
 *      Author: jozwika
 */

#ifndef ROOT_H_
#include <iostream>
#include <string>
#include <vector>
#include <utility>
#include <memory>
#include "Message.h"
#define ROOT_H_

namespace inte {

typedef std::shared_ptr<inte::Message> MessagePtr;
typedef std::vector<MessagePtr> MessageVect;

class Root {
friend class OutputRoot;
public:
	Root();
	virtual ~Root();
	MessagePtr getMessage(std::string type);
	void displayTree();
	virtual void setMessage(inte::Message* message);

private:
	MessageVect messageVect;
};



} /* namespace inte */

#endif /* ROOT_H_ */
